$(function(){
	//初始化
	DataHistory.getMonthDate();
	SystemCommon.getQueryEquipCode();
	
	DataHistory.pageChange();
	DataHistory.query();
	DataHistory.getParams();
//	DataHistory.flipPage();
	DataHistory.reset();

	DataHistory.initTable();
});
var DataHistory = {
		//初始化表格
		initTable : function(){
			
			$('.dataTable').bootstrapTable({
	            url: ctx +'/equipment/data/history/listDetail/get.mvc',         //请求后台的URL（*）
	            method: 'get',                      //请求方式（*）
	            striped: true,                      //是否显示行间隔色
	            cache: false,                       //是否使用缓存，默认为true，所以一般情况下需要设置一下这个属性（*）
	            pagination: true,                   //是否显示分页（*）
	            paginationLoop:false,
	            sortable: true,                     //是否启用排序
	            sortOrder: "asc",                   //排序方式
	            queryParams: DataHistory.queryParams,//传递参数（*）
	            sidePagination: "client",           //分页方式：client客户端分页，server服务端分页（*）
	            pageNumber:1,                       //初始化加载第一页，默认第一页
	            pageSize: 10,                       //每页的记录行数（*）
	            pageList: [10, 25, 50, 100],        //可供选择的每页的行数（*）
	            search: false,                       //是否显示表格搜索，此搜索是客户端搜索，不会进服务端，所以，个人感觉意义不大
	            strictSearch: true,
	            showColumns: false,                  //是否显示所有的列
	            showRefresh: false,                  //是否显示刷新按钮
	            minimumCountColumns: 2,             //最少允许的列数
	            clickToSelect: true,                //是否启用点击选中行
	            height: 500,                        //行高，如果没有设置height属性，表格自动根据记录条数觉得表格高度
	            uniqueId: "pkId",                     //每一行的唯一标识，一般为主键列
	            showToggle:false,                    //是否显示详细视图和列表视图的切换按钮
	            cardView: false,                    //是否显示详细视图
	            detailView: false,                   //是否显示父子表
	            singleSelect:false,                    //禁止多选
	            checkboxHeader:true,                 //列头取消多选
	            
	            
	            columns: [
	            {
	                field: 'modelCode',
	                title: '设备型号',
	                sortable:false,
	                align : 'center',
	                valign : 'middle',
	                
	            }, {
	                field: 'eqCode',
	                title: '设备编号',
	                sortable:false,
	                align : 'center',
	                valign : 'middle',
	            },{
	                field: 'eqName',
	                title: '设备名称',
	                sortable:false,
	                align : 'center',
	                valign : 'middle',
	            },{
	                field: 'opName',
	                title: '所属工序',
	                sortable:false,
	                align : 'center',
	                valign : 'middle',
	            },{
	                field: 'eqType',
	                title: '设备类型',
	                sortable:false,
	                align : 'center',
	                valign : 'middle',
	            },{
	                field: 'paramName',
	                title: '参数名称',
	                sortable:false,
	                align : 'center',
	                valign : 'middle'
	            },{
	                field: 'paramRange',
	                title: '工艺范围(单位)',
	                sortable:false,
	                align : 'center',
	                valign : 'middle'
	            },{
	                field: 'value',
	                title: '数据',
	                sortable:false,
	                align : 'center',
	                valign : 'middle'
	            },{
	                field: 'date',
	                title: '时间',
	                sortable:false,
	                align : 'center',
	                valign : 'middle',
	                formatter : function(value ,row ,index){
	                	
	                	return new Date(value).format('yyyy-MM-dd hh:mm:ss');
	                }
	            }],

	        });
			
	
			
		},
		
        //获取30天的时间间隔
		getMonthDate : function(){
			 var timeStamp = new Date(new Date().setHours(0, 0, 0, 0));
			$('.form_datetimeStart').val(new Date(timeStamp- 24*60*60*1000).format('yyyy-MM-dd hh:mm:ss'));
			$('.form_datetimeEnd').val(new Date(timeStamp- 24*60*60*1000+23*60*60*1000 + 55*60*1000+55*1000).format('yyyy-MM-dd hh:mm:ss'));
			$('.form_datetimeStart').datetimepicker({
				format : 'yyyy-mm-dd hh:ii:ss',
				language : 'zh-CN',
				pickerPosition: "bottom-left",
				endDate : new Date(),
				forceParse : true
			}).on('changeDate', function(ev) {
				var begin = new Date($('.form_datetimeStart').val());
				var endTime = new Date($('.form_datetimeStart').val());
				var nextmonth = SystemCommon.getNextMonth(begin);
				var begintime = new Date(nextmonth);
				$('.form_datetimeEnd').datetimepicker('setStartDate',endTime);
				$('.form_datetimeEnd').datetimepicker('setEndDate',begintime);
			});
			$('.form_datetimeEnd').datetimepicker({
				format : 'yyyy-mm-dd hh:ii:ss',
				language : 'zh-CN',
				pickerPosition: "bottom-left",
				endDate : new Date(),
				forceParse : true
			}).on('changeDate', function(ev) {
				var begin = new Date($('.form_datetimeEnd').val());
				var endTime = new Date($('.form_datetimeEnd').val());
				var lastmonth = SystemCommon.getlastmonth(begin);
				var begintime = new Date(lastmonth);
				$('.form_datetimeStart').datetimepicker('setStartDate',begintime);
				$('.form_datetimeStart').datetimepicker('setEndDate',endTime);
			});
		},
		queryParams : function (params) {
			
	        var temp = {   // 这里的键的名字和控制器的变量名必须一直，这边改动，控制器也需要改成一样的
	        	size: params.limit,   // 页面大小
	        	
	        	eqId:$(".queryEquipment").val(),
	        	startTime : $("#accessTimeStart").val(),
	        	endTime :$("#accessTimeEnd").val(),
	        	paramId : $(".param").val(),
	        	
	        	leftKey : $(".leftKey").val(),
	        	rightKey :$(".rightKey").val(),
	        	order:$(".order").val()
	        	
	        };
	        return temp;
	    },
	    //查询
	    query : function(){
	    	$(".btn-box .yes").on("click",function(){
	    		var startTime = new Date($('.form_datetimeStart').val());
	    		var endTime = new Date($('.form_datetimeEnd').val());
	    		var day = (endTime.getTime() - startTime.getTime())/(24*60*60*1000);
	    		if (day>30) {
	    			DialogUtil.warning("日期选择范围只能为30天之内");
	    			return false;
	    		}
	    		//清空上下页和方向
	    		 $(".leftKey").val("");
	    		 $(".rightKey").val("");
		         $(".order").val("");
	    		if($(".lableChange.data").hasClass("active")){
	    			//数据查询
	    			 DataHistory.queryData();
	    		}else if($(".lableChange.curve").hasClass("active")){
	    			DataHistory.queryChart();
	    		}else if($(".lableChange.spc").hasClass("active")){
	    			DataHistory.querySPC();
	    		}

	    	});
	    },
	    
	  //重置
	    reset : function(){
	    	$(".reset").on("click",function(){
	    		$(".clearfix input").val("");
	    		$('.form_datetimeStart').val(new Date(new Date().getTime() - 24*60*60*1000).format('yyyy-MM-dd hh:mm:ss'));
				$('.form_datetimeEnd').val(new Date().format('yyyy-MM-dd hh:mm:ss'));
	    		$(".param option:first").prop("selected", true);
	    		$(".queryEquipment").empty();
	    		$(".param").empty();
	    	});
	    },
	    
	    queryData : function(){
	    	if(!DataHistory.checkParam()){
				return ;
			}

	    	$('.dataTable').bootstrapTable('refresh');
	    },
	    
/*	    /!**
	     * 上一页下一页翻页
	     *!/
	    flipPage : function(){
	    	
	    	$(".flipPage").on("click",function(){
	    		if(!DataHistory.checkParam()){
					return ;
				}
	    		
	    		//上一页
	    		if($(this).hasClass("previous")){
	    			$(".order").val("desc");	
	    		//下一页	
	    		}else if($(this).hasClass("next")){
	    			$(".order").val("asc");
	    		}
	    		
	    		$('.dataTable').bootstrapTable('refresh');
	    		
	    	});
	    },*/
	    //图标显示
	    queryChart : function(){
	    	if(!DataHistory.checkParam()){
				return ;
			}
	    	$.ajax({
	    		url:ctx +'/equipment/data/history/listDetail/get.mvc',
	    		type:"post", 
	    		dataType:'json',
	    		data:DataHistory.queryParams({limit:-1}),
	    		success : function(data){
	    			var myChart4 = echarts.init(document.getElementById('chart_curve'));
	    			DataHistory.showLoad(myChart4);	//loading
	    			
	    			//循环x轴和y轴
	    			var x =new Array();
	    			var y =new Array();
	    			for(var i =0 ;i<data.length;i++){
	    				var xData =new Date(data[i].date).format('yyyy-MM-dd hh:mm:ss');
	    				var yData=data[i].value;
	    				x.push(xData);
	    				y.push(yData);
	    				
	    			}
	    			
	    			myChart4.setOption({      
			            tooltip: {
			                show: true
			            },
			            legend: {
			                data:[""]
			            },
			            xAxis : [
			                {
			                    type : 'category',
			                    data : x
			                }
			            ],
			            yAxis : [
			                {
			                    type : 'value'
			                }
			            ],
			            dataZoom : {
			                show : true,
			                realtime : true,
			                start : 0,
			                end : 100
			            },
			            series : [
			                {
			                    "name":"",
			                    "type":"line",
			                    "data":y
			                }
			            ]
		            });
		            myChart4.hideLoading();	//loading hidden
					
	    		}
	    	});
	    	
	    	
	    },
	    querySPC : function(){

	    	if(!DataHistory.checkParam()){
				return ;
			}
	    	
	    	/*var paramSPC=$(".paramSPC").val();
	    	if(paramSPC == null || paramSPC=="" ){
	    		DialogUtil.warning("请填写SPC值");
	    		return false;
	    	}
	    	if(isNaN(paramSPC)){
	    		DialogUtil.warning("SPC值请填写数字");
	    		return false;
	    	}*/
	    	
	    	$.ajax({
	    		url:ctx +'/equipment/data/history/listDetail/get.mvc',
	    		type:"post", 
	    		dataType:'json',
	    		data:DataHistory.queryParams({limit:-1}),
	    		success : function(data){
	    			
	    			var myChart5 = echarts.init(document.getElementById('chart_spc'));
	    			DataHistory.showLoad(myChart5);	//loading
	    			
	    			//循环x轴和y轴
	    			var x =new Array();
	    			var y =new Array();
	    			for(var i =0 ;i<data.length;i++){
	    				var xData =new Date(data[i].date).format('yyyy-MM-dd hh:mm:ss');
	    				var yData=data[i].value;
	    				x.push(xData);
	    				y.push(yData);
	    				
	    			}
	    			
	    			/*myChart5.setOption({      
			            tooltip: {
			                show: true
			            },
			            legend: {
			                data:[""]
			            },
			            xAxis : [
			                {
			                    type : 'category',
			                    data : x
			                }
			            ],
			            yAxis : [
			                {
			                    type : 'value'
			                }
			            ],
			            dataZoom : {
			                show : true,
			                realtime : true,
			                start : 0,
			                end : 100
			            },
			            series : [
			                {
			                    "name":"",
			                    "type":"line",
			                    "data":y
			                }
			            ]
		            });*/
	    			
	    			myChart5.setOption({      
			            tooltip: {
			                show: true
			            },
			            legend: {
			                data:[""]
			            },
			            xAxis : [
			                {
			                    type : 'category',
			                    data : x
			                }
			            ],
			            yAxis : [
			                {
			                    type : 'value',
			                    
			                }
			            ],
			            dataZoom : {
			                show : true,
			                realtime : true,
			                start : 0,
			                end : 100
			            },
			            series : [
			                {
			                    name:"SPC",
			                    type:"line",
				                data:y,
			                    markLine: {
			                        silent: true,
			                        data: [
			                        	{
			                        		yAxis : data[0].spcValue
			                        	}
			                        	
			                               /*{
			                                   name: '平均线',
			                                   // 支持 'average', 'min', 'max'
			                                   type: 'average'
			                               },
			                               {
			                                   name: 'Y 轴值为 100 的水平线',
			                                   yAxis: 100
			                               }*/
			                           ],
			                         lineStyle:{
			                        	 normal:{
			                        		 color: '#2ea9fb'
			                        	 }
			                         }
			                    }
			                }
			            ]
		            });
		            myChart5.hideLoading();	//loading hidden
					
	    		}
	    	});
	    	
	    	
	    
	    },
	    
	    checkParam:function(){
	    	var eqId=$(".queryEquipment").val();
	    	var paramId=$(".param").val();
	    	if(eqId == null || eqId=="" ){
	    		DialogUtil.warning("请选择设备");
	    		return false;
	    	}
	    	
	    	if(paramId == null || paramId=="" ){
	    		DialogUtil.warning("请选择参数");
	    		return false;
	    	}
	    	return true;
	    },
	    
	  //加载动画
		showLoad:function(id){
			id.showLoading({
			    text: '正在努力的读取数据中...',    //loading
			});		
		},
	    
	    
	    /**
	     * 根据设备获取参数事件
	     */
	    getParams : function(){
	    	$('.queryEquipment').on('select2:select', function (e) {
	    	//	debugger;
	    		//获取选择的设备
	    		var eqCode =$('.queryEquipment').val();
	    		$(".param").empty();
	    		$.ajax({
	    			url:ctx+"/equipment/param/listEqParams/get.mvc",
	    			dataType:"json",
	    			data:{eqCode:eqCode},
	    			success:function(data){
	    			//	$(".param option").remove();
	    				
			    		for (var i = 0; i < data.length; i++) {
			    			var option="<option value='"+data[i].pkId+"' ";
//			    			if(i == 0){
//			    				option+=" selected = 'selected' ";
//			    			};
			    			option+=">"+ data[i].paramName + "</option>";
				    		 $(".param").append(option);
				    	 };
	    			}
	    		});
	    		
	    	});
	    },
	
	pageChange : function(){
		//选项卡式显示图表
		$('ul.bottom>li').eq(0).css('display','block');
		
		$('ul.top li').each(function(i){
			$(this).click(function(){
				
				
				if(!DataHistory.checkParam()){
					return ;
				}
				
				
			
				$('ul.top li').removeClass('active');
				$(this).addClass('active');
				$('ul.bottom>li').css('display','none');
				$('ul.bottom>li').eq(i).css('display','block');
				

				if($(this).hasClass("data")){
					DataHistory.queryData();
				}else if($(this).hasClass("curve")){
					DataHistory.queryChart();
				}else if($(this).hasClass("spc")){
					DataHistory.querySPC();
				}
				
				
			});
		});
	}
	
};